<?php

/**
 * Description of empleados
 *
 * @author drarko
 */
class empleados extends table {

    public $id;
    public $nombre;
    public $apellido;
    public $legajo;
    public $fechaIngreso;
    public $fechaEgreso;
    
    
    
    public function __construct($id = null) {
        
        parent::__construct("empleados");        
        
        if($id != null)
        {
            $this->id = $id;
            $this->addWhere("id", $id);
            $res = $this->select();
   
            foreach($res as $r)
            {
                $this->nombre = $r['nombre'];
                $this->apellido = $r['apellido'];
                $this->legajo = $r['legajo'];                
                $this->fechaIngreso = $r['fechaIngreso'];
                $this->fechaEgreso = $r['fechaEgreso'];                
            }
            
        }

        return $this;
    }
    
    public function insertar($legajo,$nombre,$apellido,$fechaIngreso,$habilitado)
    {
        $this->addValue("0");
        $this->addValue("'".$legajo."'");
        $this->addValue("'".$nombre."'");
        $this->addValue("'".$apellido."'");     
        $this->addValue("'".$fechaIngreso."'");
        $this->addValue("NULL");
        $this->addValue($habilitado);
       
  
        $result = $this->insert();
     
        
        return $result;
    }
    
    public function selectPorApellido($donde)
    {
        $this->addLikeWhere("apellido","'%".$donde."%'");
        
        $result = $this->select();
        
        return $result;
    }
    
    public  function selectPorLegajo($donde)
    {
        $this->addLikeWhere("legajo","'%".$donde."%'");
        
        $result = $this->select();
        
        return $result;        
        
    }
       
    public function actualizarLegajo($valor)
    {
        $this->addSet("legajo", "'".$valor."'");
        $this->addWhere("id" , $this->id);
        $result = $this->update();
        return $result;
    }
    public function actualizarNombre($valor)
    {
        $this->addSet("nombre", "'".$valor."'");
        $this->addWhere("id" , $this->id);        
        $result = $this->update();
        return $result;
    }
    public function actualizarApellido($valor)
    {
        $this->addSet("apellido", "'".$valor."'");
        $this->addWhere("id" , $this->id);        
        $result = $this->update();
        return $result;
    }
    public function actualizarFechaIngreso($valor)
    {
        $this->addSet("fechaIngreso", "'".$valor."'");
        $this->addWhere("id" , $this->id);        
        $result = $this->update();
        return $result;
    }
    public function actualizarFechaEgreso($valor)
    {
        $this->addSet("fechaEgreso", "'".$valor."'");
        $this->addWhere("id" , $this->id);        
        $result = $this->update();
        return $result;
    }


    public function actualizar($legajo,$nombre,$apellido,$fechaIngreso,$fechaEgreso,$habilitado)
    {
        $result = $this->actualizarLegajo($legajo);
        $result = $result . $this->actualizarNombre($nombre);
        $result = $result . $this->actualizarApellido($apellido);
        $result = $result . $this->actualizarFechaIngreso($fechaIngreso);
        $result = $result . $this->actualizarFechaEgreso($fechaEgreso);
        $result = $result . $this->habilitar($this->id, $habilitado);
        
        return $result;
    }
    
    public function listar($orden = "apellido", $sentido="ASC")
    {
        $this->setOrder($orden, $sentido);
        $result = $this->select();
        
        return $result;
        
    }
    
    public function importar()
    {
        /**
         * @TODO
         * 
         */
    }
    public function exportar()
    {
        $this->export("./empleados.xls");
    }
}


